<?php
/**
 * @version 1.0
 * @author jonathan poelen <jonathan.poelen@gmail.com>
 * @date 10-22-2010
 */
interface SW_Move_Access_Interface
{
	/**
	 * Supprime le premier mouvement
	 * @return SW_Move|null
	 */
	public function shift();

	/**
	 * Ajoute en fin de la liste
	 * @param SW_Move $move
	 */
	public function push(SW_Move $move);

	/**
	 * Utilise isArrive() du 1er mouvement. Retourne null si aucun mouvement n'existe
	 * @return bool|null
	 */
	public function firstMoveIsArrrive();

	/**
	 * @return bool
	 */
	public function isEmpty();
}